home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
misc
/
fds
/
fildes.doc
< prev
next >
Wrap
Text File
|
1992-11-19
|
16KB
|
316 lines
Filter Design System
version 1.20
copyright 1990, 91, 92 by Bob Lombardi
FilDes (fds.exe) is copyrighted to prevent others from using
and selling the code I have developed. The copy of FilDes in your
possession is YOUR COPY. You may use it and copy it as many times as
you like. You may distribute it unmodified to any number of users.
FilDes is a synthesis program for electronic filter design using
lumped element structures. As such, it will find its greatest application
between 1 and 1000 MHz. Below this range, active filters are the usual
choice; above it, the filters are usually (though not always) built
using distributed components.
FilDes should be easy to use for the experienced filter designer,
as well as the newcomer. Its input requirements are the things that must
be known to design a filter with pencil and paper. It outputs lists of
components with notation common to the CAD programs SuperCOMPACT, STAR,
SuperSTAR, and others. The component is listed with its value and the
term PAR, if it is connected to ground, or SER if it is connected to the
next component listed. Another way of stating PAR is SHUNT; par was
chosen for consistency with SuperCOMPACT. Bandpass (BP), Bandreject (BR),
Narrow Bandpass (NBP) and Elliptic filters will have LC combinations with
the designation PLC if they are connected in a parallel LC configuration,
or SLC if they are in series configuration, as well as the PAR or SER
circuit connection. The filters can be printed to a text mode printer,
(non-postscript) or to a Touchstone(r) format disk file.
FilDes will run on all PC or compatible machines. Output dis-
plays are in textmode windows. Memory requirements are well below the
common 640 K in today's machines. A CGA or better color monitor is re-
quired. A math co-processor is not required, but will speed up certain
sections dramatically on PC, XT or slower AT type machines.
Fildes runs under the File Manager from inside Microsoft Windows
version 3.1, or from a DOS prompt. I have only run it from the DOS
command line in OS/2.
General Description
The program opens by offering a choice of Butterworth/Chebychev
ladder filters, or Elliptic filters. If Butterworth/Chebychev filters
are chosen, the user is guided through various menus that offer auto-
matic calculation of the required filter complexity, or complete user
specification. The user has control over the passband ripple for all
filter types. Chebychev filters can be designed with any amount of
ripple, up to 3 dB. (These are sometimes used in PLL design). You can
design a .213 dB ripple filter, for instance, if you so desire. Further,
Chebychev filters may be specified in terms of either their ripple band-
width, or their 3dB bandwidth. Both methods are in use, although the
ripple bandwidth method seems more popular. With FilDes, it's your
choice.
The Butterworth and Chebychev ladder filters are available in
all frequency response characteristics, so this portion of the program
allows you to choose the desired response with a moving highlighted text
bar. Once the type desired is chosen, windows are opened on screen for
entering the desired filter parameters. FilDes will calculate the mini-
mum number of poles required for a desired amount of attenuation, or
allow you to choose. To get into the autocalculation routines, enter 0
for the number of poles.
Elliptic filters are only available as LP or HP designs, so the
program decides which type is desired based on your passband/stopband
frequency entries. All input here is via numerical entries.
At all times and places in the program where values are printed
out on screen, the output is paused for examining output. If the screen
can't hold all of the element values, it pauses output and waits for a
key to be pressed. Hitting return (or any key) hard may cause switch
bounce in some keyboards; if a large filter scrolls off screen, try re-
entering the design parameters, but make sure you only hit return once
after the last data entry. All output screens offer you the option of
printing the output to a line printer. (Warning: the program will halt
if the printer is not on line and ready!) Similarly, you may save any
filter designed by FilDes to a Touchstone .ckt format file.
All filters begin as a lowpass prototype. The lowpass prototype
is always a minimum inductor design. Default units are MHz, pF, and nH.
Bandpass Filters
The Narrow Bandpass (NBP) filters offered here are top-C coupled
resonator filters. They are available in any degree of ripple from 0
to 3 dB, since they are derived from the lowpass prototype element values.
The narrowband approximation is valid for Q's greater than 10 (i.e., if
center freq divided by BW is > 10); the filters hold their response to
the desired ripple class best if Q >10. Within 5% of the center
frequency, the approximation is quite good. Top-C coupled filters have
better rejection of lower frequency signals than higher frequency ones.
This section includes a capacitance match for matching the
(ordinarily) higher impedance of the filter down to a desired value.
If you find the filter too low in impedance, don't choose this option;
instead, try the design again with a larger value inductor.
The other class of bandpass filter, chosen with the option BP,
is derived by lowpass to bandpass transformation of a lowpass prototype.
These filters are best used where the Q (as defined above) is less than
10. They have parallel resonant circuits in shunt to ground joined at
the hot end by series resonant circuits.
Another feature of these sections is an estimate of insertion
loss of the filter. It asks for the component unloaded Q, with default
value of 500. This can help in the choice of the component technology
used, or just provide a designed value. The alogorithm is from Robert
Wenzel, in the course "Designing Microwave Filters, Couplers and Matching
Networks", presented by Besser and Associates. The author believes the
originator of the method to be Anatol Zverev. The component Q requested
here is typically the inductor Q (in fact, the program asks for coil
Q), and in most filters the capacitors are several times higher in Q
than the inductors. In a voltage-tuned filter, however, the varactor
diodes may well be the limiting component, and their Q should be
entered here.
The value of loss predicted here, which is the midband loss,
agrees nicely with results from professional CAD programs.
The band reject filters (BR) are ladder networks based on
transformation from the lowpass prototype. They have series resonant
branches to ground with parallel resonant circuits coupling them.
The Lowpass Prototypes
The algorithms used for the calculation of Butterworth and
Chebychevs give greater flexibility to filters with odd order (in a LP/
HP filter, this is the number of components). After autocalculation of
filter order, the user is offered the option of increasing the order of
even order filters to get this flexibility. With the Butterworth and
Chebychev minimum inductor filters designed by the program, this
corresponds to the addition of one cap to the lowpass prototype. This
also means an extra inductor in BP and BR topologies.
The reason for this is that true Chebychev filters of even order
can not have equal source and load resistances. Users familiar with
the various tables for the design of these filters will have seen that
for even order filters, the RS/RL ratios rarely include 1.0000; if they
do, the filter is a pseudo-Chebychev synthesized by some other technique.
My way of dealing with this is to implement Bartlett's Bisection
Theorem on odd order filters. This will allow matching to other loads.
Because of how this method works, the range of RL to RS is probably from
.1 RS to 10 RS; the ultimate limit is dependent on how realizable the
components are. (As is the case with all filters!) Of course, most RF
filters are designed for equal terminations, in the range of 30 to 300
Ohms.
Elliptic LP and HP Filters
The elliptic filter module synthesizes symmetrically terminated
filters. The user specifies the filter in terms of the number of
finite transmission zeroes and desired attenuation. Alternatively, the
program will estimate the number of zeroes required, given the rejection
and ripple requirements. This calculation is based on a method shown by
Darlington in 1939, and published again by Orchard in 1990.
Those familiar with elliptic filters are aware that they are
selected on the basis of the ripple in the passband and stopband. This
elliptic filter calculation algorithm only asks for the number of zeroes
in the stopband and the amount of ultimate rejection. Thus, the user
doesn't have as much control as he does with very extensive tables, as
in Zverev. The routine that estimates the order of the filter finds the
smallest number of zeroes that will make the stopband attenuation. It can
sometimes result in a filter with a smaller number of components, but with
excessive ripple in the stopband. I personally almost always add one zero
to its estimate without bothering to try the number of zeroes suggested.
This will generally result in a low ripple filter that meets spec.s. There
may well be more trial and error involved in designing an elliptic filter
than in designing other filters.
The algorithm for the calculation of Elliptic filters is from
Amstutz in IEEE Transactions on CAS for 12/78. The method was further
advanced by Cuthbert in 1983 ("Circuit Design Using Personal Computers",
published by Wiley). FilDes uses the first known Pascal implementation
of this algorithm.
Touchstone(c) .CKT files
Version 1.2 introduces the option of saving your filter design
into an EESOF Touchstone(c) .CKT format file. This format is a "psuedo-
standard" way of documenting a circuit that can be used by some other
design software, including the HP Microwave Design System. Beginning
with this version, all filters now offer the option "(S)ave to file,
(P)rint or (C)ont" after presenting the screen data. This allows you
to choose not to save the filter if you don't like it. You may continue
to print to hardcopy if you desire. FilDes assumes any key other than
s or p is a Continue command.
The file writing module asks for a filename, but will assign the
name FILDES.CKT if you don't provide one. If you provide a name, it will
check to see if the file exits. If it does, the program will alert you
and offer you another chance to name it. If you don't change the name,
it will overwrite and destroy the old file. IT DOES NOT DO THIS if you
choose the default name, assuming that you don't care if it is overwritten.
You may enter any valid DOS file name with extension and path, for example:
C:\eesof\myckts\test.ckt, and fildes will use it. If no path is given,
FilDes will write it in the existing directory. If the path doesn't exist,
you will be warned and prompted for the correct path. You must enter the
extension if you want it; FilDes will not provide one.
The files that FilDes writes will run as is, but you will probably
edit them for more or less frequency span and analysis points. It is the
author's experience that much of a session with Touchstone (or other
programs) is spent setting up and alternating between analysis views.
EESOF and Touchstone are registered trademarks and copyrights
of EESOF corporation, of course. HP is a registered trademark of the
Hewlett Packard Corporation. The author has no connection with them.
However, if they would like, they can "just send money".
To Use The Program
Answer the questions. Many inputs are Y/N answers. For these
cases, upper or lower case answers are OK. If you hit a "T", for example,
the program generally decides it isn't the option it is looking for.
It is generally the same as typing "N". Numerical inputs are generally
checked to see if they are in range, but this can't be always be done.
If the input is in error, such as entering a letter for a number, you
will be prompted for a correction, either by a beep and clearing of the
bogus input, by a written notice, or simply by not letting you continue.
At any time you can break the program by typing Control-Break,
<CTRL-BRK>, or both Control and Break at the same time. The program will
enter an exit procedure that prints a large red window in the center area
of the screen. If the printer is not on line, that will be noted. In
other errors, you will get the error code which may or may not be of use
to you.
While FilDes can help the newcomer produce filters that meet all
requirements, there is no substitute for knowledge of the subject. First
time filter designers are urged to consult any of the many books on
the topic. An excellent choice is "Electronic Filter Handbook" by A.B.
Williams, published by McGraw-Hill. The first or second edition of this
book is a worthwhile addition to the filter designer's library.
BUG REPORTS
Please direct bug reports, if any, or suggestions for improvement
to Bob Lombardi at 407-727-6360, or internet blombardi@x102a.ess.harris.com.
Mailing address is 1874 Palmer Dr. Melbourne, FL 32935
Coming Attractions
Planned upgrades are:
Transformation of filter files: computation of dual filter,
and possibly semi-lumped microstrip implementations.
Other types of filter responses: Bessel, Legendre, Gaussian,
and transitional Butterworth-Thompson for example.
Possible additions are:
User selection of display colors
Schematic display of filters
Elliptic bandpass filters
Time domain filtering: delay equalizers
Active filters
Revision History
ver beta
First cut at program.
1.0
Added loss calculations for BP filters. Added ripple vs 3 dB BW
choice for Chebychev filters. Added elliptic filter order
estimation. Changed opening window to select filter type with
highlighted text window.
ver 1.10
Changed user interface in the ladder filter section. Selection of
filter type by highlighted text window.
ver 1.11
Fixed bug that sometimes interfered with "Do another filter?"
option. Fixed bug that showed too much loss for the wideband
bandpass filters. (Thanks Wayne!) Added printer-dump support.
ver 1.12
Worked on user interface in all modules. Added user break option
to escape without completing the filter input, and custom exit
procedure for DOS errors.
ver 1.13
Found and corrected a bug in the Chebychev rbw/3db bw option that
wouldn't allow you to change from rbw to 3db bw on successive filters.
ver 1.14
Added the design BW type for Chebychev filters to the bottom-of-
screen window; ripple or 3dB is now displayed with the other
parameters for the filter. Cleaned up user interface in the NBP
filter module. Cleaned up display for custom error procedure,
giving it its own window.
ver 1.20
Largest additions to date. Added saving Touchstone(c) .CKT files
on disk. Fixed scaling problems in BandReject filters.